-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[exporterqueue] Implement blocking queue #11951
base: main
Are you sure you want to change the base?
Conversation
ede52ac
to
bcd3fe8
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #11951 +/- ##
==========================================
- Coverage 91.67% 91.66% -0.01%
==========================================
Files 455 456 +1
Lines 24038 24103 +65
==========================================
+ Hits 22037 22095 +58
- Misses 1629 1635 +6
- Partials 372 373 +1 ☔ View full report in Codecov by Sentry. |
@sfc-gh-sili please rebase and look at the failing CI |
7ea3462
to
0448db0
Compare
3028f40
to
946ba78
Compare
usePullingBasedExporterQueueBatcher.IsEnabled() && be.BatcherCfg.Enabled && !be.queueCfg.Enabled { | ||
if usePullingBasedExporterQueueBatcher.IsEnabled() && be.BatcherCfg.Enabled && !be.queueCfg.Enabled { | ||
be.queueFactory = exporterqueue.NewBlockingMemoryQueue[internal.Request]() | ||
be.queueCfg.QueueSize = 20 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to set it to 20?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, Dmitrii.
The blocking queue is introduced as a hidden logical abstraction to handle the case when batch is enabled and queue is not enabled - it means a component that blocks until the incoming request is successfully sent out, so logically the queue size is infinite. I'd think setting this number to MaxInt would make sense but that broke a bunch of tests, and 20 is just some random number I picked as a work around.
Let me experiment with some alternative solutions to "infinite queue" and get back to this.
946ba78
to
f9c6df2
Compare
Description
This PR
batch_sender
if the feature gateUsePullingBasedExporterQueueBatcher
is on.Link to tracking issue
#8122
#10368
Testing
Documentation